1. Field
Embodiments of the present invention generally relate to applications for analyzing user input, and more particularly, to a method and apparatus for interpreting multi-touch events using basis vectors for defining a coordinate system.
2. Description of the Related Art
Many current generation computing devices provide for their screens to be operated by multiple touch events simultaneously, generally known as multi-touch events or as gestures. Multi-touch allows users to make a gesture that, for example, rotates an image using two fingers, moves an image, or manipulates a software application, game or utility in such a way as to mimic the User's input motion. Currently, mobile operating systems such as Android or iOS and mobile applications use gesture-based recognition of multi-touch transformations. For example, if a user would like to rotate an image, a rotation gesture is recognized as the touch points moving in a circular direction. Similarly, if a user would like to translate an image, a translation or swipe gesture is recognized as the touch points moving in a lateral direction.
Also, if a user would like to scale an image or object, or perform a zooming function, a pinching or similar gesture, it is recognized as the touch points moving towards the same point, or moving outwards from a point. However, performing these actions on an object requires tracking a user's gesture and comparing it to known gestures, making it error prone and restrictive since User's often perform gestures in a range of different ways depending on individual preference. In current gesture detection software, rotating an object is compared to a gesture of two thumb points being twisted 90 degrees. Another example is using a swipe gesture, detected as forming a predetermined angle of being perfectly horizontal with respect to the touch screen display. To recognize these gestures, the user's movement is compared precisely with their associated motions. Often, a user is required to repeat the gesture several times to have the movement recognized appropriately and performed accordingly, causing frustration and reducing user satisfaction. In addition, current methods of approximating zooming or pinching are not also able to detect translation or rotation at the same time. Thus, the user is unable to perform a complex movement such as rotating an image as well as translating and zooming on it, limiting the user from engaging in more complex activities on a computing device with a touch-screen.
Therefore, there is a need in the art for a method and apparatus for interpreting multi-touch events on a computing device in a simpler and more general manner.